/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.ds2.cafeteria.bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.itschapala.ds2.cafeteria.dao.DetallecompraDaoLocal;
import mx.itschapala.ds2.cafeteria.enumeracion.EstadoPlatillo;
import mx.itschapala.ds2.cafeteria.modelo.Detallecompra;

/**
 *
 * @author Santiago
 */
@Stateless
public class DetallecompraBl implements DetallecompraBlLocal {
    @EJB
    private DetallecompraDaoLocal detallecompraDao;
    
    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    @Override
    public EstadoPlatillo addDishes(Detallecompra dish) {
        if (detallecompraDao.findByDuplicityDishes(dish)) {
            return EstadoPlatillo.INCOMPLETE;
        } else {
            detallecompraDao.create(dish);
            return EstadoPlatillo.COMPLETE;
        }
    }
    
    @Override
    public EstadoPlatillo modify(Detallecompra dish) {
        if (dish.getId() == null || detallecompraDao.find(dish.getId()) == null) {
            return EstadoPlatillo.INCOMPLETE;
        } else {
            detallecompraDao.edit(dish);
            return EstadoPlatillo.COMPLETE;
        }
    }

    @Override
    public EstadoPlatillo delete(Detallecompra dish) {
        if (dish.getId() == null || detallecompraDao.find(dish.getId()) == null) {
            return EstadoPlatillo.INCOMPLETE;
        } else {
            detallecompraDao.remove(dish);
            return EstadoPlatillo.COMPLETE;
        }
    }

    @Override
    public List<Detallecompra> getAll() {
        return detallecompraDao.findAll();
    }

    @Override
    public Detallecompra findById(Integer id) { 
        return detallecompraDao.find(id);
    }

    @Override
    public Float getCost(Detallecompra cost) {
        return detallecompraDao.findByCost(cost);
    }
}
